/**
 * @(#) ColumnInformation.java
 *
 * @author lihg
 * @version V1.0 2013-11-11
 *
 */

package cn.com.dshome.database.jdbc.pojo;

/**
 * 
 * Purpose:字段信息
 * 
 * @author lihg
 * @see
 * @since
 */

public class ColumnInformation extends DBBaseInformation {

	private static final long serialVersionUID = -6973826306029068551L;

	//来自 java.sql.Types 的 SQL 类型
	private int dataType ;

	//数据源依赖的类型名称
	private String dataTypeName ;

	//列的大小
	private int columnSize ;

	//小数部分的位数
	private int decimalDigits  ;

	//基数（通常为 10 或 2）
	private int numPrecRadix ;

	//是否允许使用 NULL。
	//columnNoNulls - 可能不允许使用 NULL 值
	//columnNullable - 明确允许使用 NULL 值
	//columnNullableUnknown - 不知道是否可使用 null
	private int nullAble ;

	//该列的默认值，当值在单引号内时应被解释为一个字符串（可为 null）
	private String columnDef ;

	//规则用于确定列是否包括 null。
	//YES --- 参数可以包括 NULL
	//NO --- 参数不可以包括 NULL
	//空字符串 --- 不知道参数是否可以包括 null
	private String isNullAble ;

	//指示此列是否自动增加
	//	YES --- 该列自动增加
	//	NO --- 该列不自动增加
	//	空字符串 --- 不能确定该列是否是自动增加参数
	private String isAutoincrement ;

	//对于 char 类型，该长度是列中的最大字节数
	private int charOctetLength  ;

	//表中的列的索引（从 1 开始）
	private int ordinalPosition  ;

	/**
	 * @return the dataType
	 */
	public int getDataType() {
		return dataType;
	}

	/**
	 * @param dataType the dataType to set
	 */
	public void setDataType(int dataType) {
		this.dataType = dataType;
	}

	/**
	 * @return the dataTypeName
	 */
	public String getDataTypeName() {
		return dataTypeName;
	}

	/**
	 * @param dataTypeName the dataTypeName to set
	 */
	public void setDataTypeName(String dataTypeName) {
		this.dataTypeName = dataTypeName;
	}

	/**
	 * @return the columnSize
	 */
	public int getColumnSize() {
		return columnSize;
	}

	/**
	 * @param columnSize the columnSize to set
	 */
	public void setColumnSize(int columnSize) {
		this.columnSize = columnSize;
	}

	/**
	 * @return the decimalDigits
	 */
	public int getDecimalDigits() {
		return decimalDigits;
	}

	/**
	 * @param decimalDigits the decimalDigits to set
	 */
	public void setDecimalDigits(int decimalDigits) {
		this.decimalDigits = decimalDigits;
	}

	/**
	 * @return the numPrecRadix
	 */
	public int getNumPrecRadix() {
		return numPrecRadix;
	}

	/**
	 * @param numPrecRadix the numPrecRadix to set
	 */
	public void setNumPrecRadix(int numPrecRadix) {
		this.numPrecRadix = numPrecRadix;
	}

	/**
	 * @return the nullAble
	 */
	public int getNullAble() {
		return nullAble;
	}

	/**
	 * @param nullAble the nullAble to set
	 */
	public void setNullAble(int nullAble) {
		this.nullAble = nullAble;
	}

	/**
	 * @return the columnDef
	 */
	public String getColumnDef() {
		return columnDef;
	}

	/**
	 * @param columnDef the columnDef to set
	 */
	public void setColumnDef(String columnDef) {
		this.columnDef = columnDef;
	}

	/**
	 * @return the isNullAble
	 */
	public String getIsNullAble() {
		return isNullAble;
	}

	/**
	 * @param isNullAble the isNullAble to set
	 */
	public void setIsNullAble(String isNullAble) {
		this.isNullAble = isNullAble;
	}

	/**
	 * @return the isAutoincrement
	 */
	public String getIsAutoincrement() {
		return isAutoincrement;
	}

	/**
	 * @param isAutoincrement the isAutoincrement to set
	 */
	public void setIsAutoincrement(String isAutoincrement) {
		this.isAutoincrement = isAutoincrement;
	}

	/**
	 * @return the charOctetLength
	 */
	public int getCharOctetLength() {
		return charOctetLength;
	}

	/**
	 * @param charOctetLength the charOctetLength to set
	 */
	public void setCharOctetLength(int charOctetLength) {
		this.charOctetLength = charOctetLength;
	}

	/**
	 * @return the ordinalPosition
	 */
	public int getOrdinalPosition() {
		return ordinalPosition;
	}

	/**
	 * @param ordinalPosition the ordinalPosition to set
	 */
	public void setOrdinalPosition(int ordinalPosition) {
		this.ordinalPosition = ordinalPosition;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "ColumnInformation [name=" + getName() + ",remark=" + getRemark() + ",dataTypeName=" + dataTypeName
				+ ", columnSize=" + columnSize + ", columnDef=" + columnDef
				+ "]";
	}
}


/**
 * Revision history
 * -------------------------------------------------------------------------
 * 
 * Date Author Note
 * -------------------------------------------------------------------------
 * 2013-11-11下午1:37:52 lihg 创建版本
 */